'use strict';
exports.main = async (event, context) => {
  const db = uniCloud.database();
  
  if (!event.user_id) {
    return { code: 400, msg: '用户ID不能为空' };
  }

  try {
    const res = await db.collection('exchange_history')
      .aggregate()
      .match({
        user_id: event.user_id
      })
      .lookup({
        from: 'items',
        localField: 'item_id',
        foreignField: '_id',
        as: 'item_info'
      })
      .sort({
        exchange_time: -1
      })
      .end();
    
    // 仅返回必要数据，不处理图片URL
    return {
      code: 0,
      data: res.data.map(item => ({
        ...item,
        // 直接使用商品表中的第一个图片
        image: item.item_info?.[0]?.images?.[0] || null,
        item_name: item.item_info?.[0]?.name || '未知商品',
        exchange_time: new Date(item.exchange_time).toLocaleString()
      }))
    };
  } catch (e) {
    console.error('云函数错误:', e);
    return {
      code: 500,
      msg: '查询失败',
      debug: e.message
    };
  }
};